package export;

import java.io.Serializable;

/**
 * Define all needed information for creating one column in jasper report.
 * 
 */
public class ReportColumnInformation implements Serializable {

    private static final long serialVersionUID = -2928806784884988044L;

    private String propertyName;
    private String columnTitle;
    private Class<?> columnClass;
    private String columnFormatPattern;
    private int columnWidth;

    /**
     * Get current value of <code>propertyName</code>.
     * 
     * @return propertyName.
     */
    public String getPropertyName() {
        return propertyName;
    }

    /**
     * Set new value for <code>propertyName</code>. This value is used to map between data source and report column.
     */
    public void setPropertyName(String propertyName) {
        this.propertyName = propertyName;
    }

    /**
     * Get current value of <code>columnTitle</code>.
     * 
     * @return columnTitle.
     */
    public String getColumnTitle() {
        return columnTitle;
    }

    /**
     * Set new value for <code>columnTitle</code>.
     */
    public void setColumnTitle(String columnTitle) {
        this.columnTitle = columnTitle;
    }

    /**
     * Get current value of <code>columnClass</code>.
     * 
     * @return columnClass.
     */
    public Class<?> getColumnClass() {
        return columnClass;
    }

    /**
     * Set new value for <code>columnClass</code>.
     */
    public void setColumnClass(Class<?> columnClass) {
        this.columnClass = columnClass;
    }

    /**
     * Get current value of <code>columnFormatPattern</code>.
     * 
     * @return columnFormatPattern.
     */
    public String getColumnFormatPattern() {
        return columnFormatPattern;
    }

    /**
     * Set new value for <code>columnFormatPattern</code>.
     */
    public void setColumnFormatPattern(String columnFormatPattern) {
        this.columnFormatPattern = columnFormatPattern;
    }

    /**
     * Get current value of <code>columnWidth</code>.
     * 
     * @return columnWidth.
     */
    public int getColumnWidth() {
        return columnWidth;
    }

    /**
     * Set new value for <code>columnWidth</code>.
     */
    public void setColumnWidth(int columnWidth) {
        this.columnWidth = columnWidth;
    }

}
